草庐IT

LeetCode - 两数之和

全部标签

leetcode 650. 2 Keys Keyboard 只有两个键的键盘(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/2-keys-keyboard最初记事本上只有一个字符'A'。你每次可以对这个记事本进行两种操作:CopyAll(复制全部):复制这个记事本中的所有字符(不允许仅复制部分字符)。Paste(粘贴):粘贴上一次复制的字符。给你一个数字 n,你需要使用最少的操作次数,在记事本上输出恰好 n 个'A'。返回能够打印出 n 个'A'的最少操作次数。示例1:输入:3输出:3解释:最初,只有一个字符'A'。第1步,使用CopyAll操作。第2步,使用Paste操作来获得'AA'。第3步,使用Paste操作来获得'AAA'。

LeetCode 39. 组合总和 40.组合总和II 131.分割回文串

欢迎关注个人公众号:爱喝可可牛奶LeetCode39.组合总和40.组合总和II131.分割回文串LeetCode39.组合总和分析回溯可看成对二叉树节点进行组合枚举,分为横向和纵向每次往sum添加新元素时,必须明确从can哪个位置开始,定义变量pos返回条件sum==target或sum>target;横向结束条件没有新元素可以添加了即posbt(can,sum,tar,pos){ if(sum==tar)addreturn;if(sum>tar)pos++return;for(inti=pos;i这个回溯考虑sum>tar时,pos++不应该写在第3行,这样导致回溯减掉的元素值与递归添加的

LeetCode 39. 组合总和 40.组合总和II 131.分割回文串

欢迎关注个人公众号:爱喝可可牛奶LeetCode39.组合总和40.组合总和II131.分割回文串LeetCode39.组合总和分析回溯可看成对二叉树节点进行组合枚举,分为横向和纵向每次往sum添加新元素时,必须明确从can哪个位置开始,定义变量pos返回条件sum==target或sum>target;横向结束条件没有新元素可以添加了即posbt(can,sum,tar,pos){ if(sum==tar)addreturn;if(sum>tar)pos++return;for(inti=pos;i这个回溯考虑sum>tar时,pos++不应该写在第3行,这样导致回溯减掉的元素值与递归添加的

leetcode 322. Coin Change 零钱兑换(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/coin-change给你一个整数数组coins,表示不同面额的硬币;以及一个整数amount,表示总金额。计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例 1:输入:coins=[1,2,5],amount=11输出:3解释:11=5+5+1示例2:输入:coins=[2],amount=3输出:-1示例3:输入:coins=[1],amount=0输出:0提示:110二、解题思路每个硬币可以用无限多次,所以是完全背包问题。

leetcode 474. Ones and Zeroes 一和零(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/ones-and-zeroes给你一个二进制字符串数组strs和两个整数m和n。请你找出并返回strs的最大子集的长度,该子集中最多有m个0和n个1。如果x的所有元素也是y的元素,集合x是集合y的子集。示例1:输入:strs=["10","0001","111001","1","0"],m=5,n=3输出:4解释:最多有5个0和3个1的最大子集是{"10","0001","1","0"},因此答案是4。其他满足题意但较小的子集包括{"0001","1"}和{"10","1","0"}。{"111001"}不满足

leetcode 322. Coin Change 零钱兑换(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/coin-change给你一个整数数组coins,表示不同面额的硬币;以及一个整数amount,表示总金额。计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例 1:输入:coins=[1,2,5],amount=11输出:3解释:11=5+5+1示例2:输入:coins=[2],amount=3输出:-1示例3:输入:coins=[1],amount=0输出:0提示:110二、解题思路每个硬币可以用无限多次,所以是完全背包问题。

leetcode 474. Ones and Zeroes 一和零(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/ones-and-zeroes给你一个二进制字符串数组strs和两个整数m和n。请你找出并返回strs的最大子集的长度,该子集中最多有m个0和n个1。如果x的所有元素也是y的元素,集合x是集合y的子集。示例1:输入:strs=["10","0001","111001","1","0"],m=5,n=3输出:4解释:最多有5个0和3个1的最大子集是{"10","0001","1","0"},因此答案是4。其他满足题意但较小的子集包括{"0001","1"}和{"10","1","0"}。{"111001"}不满足

力扣(LeetCode) - 平均工资:部门与公司比较

一.题目给如下两个表,写一个查询语句,求出在每一个工资发放日,每个部门的平均工资与公司的平均工资的比较结果(高/低/相同)。工资表:salaryidemployee_idamountpay_date1190002017-03-312260002017-03-3133100002017-03-314170002017-02-285260002017-02-286380002017-02-28职员表:employeeemployee_iddepartment_id112232表salary中employee_id字段是表employee中employee_id字段的外键。对于如上样例数据,结果为:

力扣(LeetCode) - 平均工资:部门与公司比较

一.题目给如下两个表,写一个查询语句,求出在每一个工资发放日,每个部门的平均工资与公司的平均工资的比较结果(高/低/相同)。工资表:salaryidemployee_idamountpay_date1190002017-03-312260002017-03-3133100002017-03-314170002017-02-285260002017-02-286380002017-02-28职员表:employeeemployee_iddepartment_id112232表salary中employee_id字段是表employee中employee_id字段的外键。对于如上样例数据,结果为:

【LeetCode刷题】1. 两数之和

1.两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。示例2:输入:nums=[3,2,4],target=6输出:[1,2]示例3:输入:nums=[3,3],target=6输出:[0,1]提示:2-109-109只会存在一个有效答案解法一:暴力匹配代码拿我